2.7 表格选择之筛选法
使用筛选方法来选择表格数据是一种常见的手段,行的筛选格式为df[条件表达式]
1、行选择:在df[]中提供了一组布尔值,关于布尔值必须遵循以下两个条件:
(1) 布尔值的元素个数必须与df表的行数相同,因为布尔值在df表的行是一一对应的,true表示选择,False表示不选择;
(2) 布尔值必须存储在列表、数组、Seires等数据结构中。
2、列选择:没有
3、区域选择:利用筛选方式选择后,再与选择的列进行交叉,也可以实现区域的选择。
原数据:
import pandas as pd
path = r "D:\Pyobject2023\object\测试\表格之切法.xlsx"
df = pd.read_excel(path, index_col =0)
t=df
print(t)
返回:
姓名 | 姓别 | 1月 | 2月 | 3月 | |
---|---|---|---|---|---|
序号 | |||||
NED01 | 小王 | 男 | 87 | 79 | 37 |
NED02 | 小曾 | 女 | 55 | 27 | 48 |
NED03 | 小李 | 男 | 34 | 47 | 85 |
NED04 | 小张 | 女 | 67 | 85 | 59 |
NED05 | 小林 | 男 | 67 | 49 | 76 |
放布尔值
import pandas as pd
path = r "D:\Pyobject2023\object\测试\表格之切法.xlsx"
df = pd.read_excel(path)
t=df[ "1月" ]>50
print(t)
返回:
0 True
1 True
2 False
3 True
4 True
Name: 1月, dtype: bool
布尔值写入DataFrame筛选
import pandas as pd
path = r "D:\Pyobject2023\object\测试\表格之切法.xlsx"
df = pd.read_excel(path)
t=df[ "1月" ]>60
print (df[t])
返回:
序号 | 姓名 | 姓别 | 1月 | 2月 | 3月 | |
---|---|---|---|---|---|---|
0 | NED01 | 小王 | 男 | 87 | 79 | 37 |
3 | NED04 | 小张 | 女 | 67 | 85 | 59 |
4 | NED05 | 小林 | 男 | 67 | 49 | 76 |
区域:
import pandas as pd
path = r "D:\Pyobject2023\object\测试\表格之切法.xlsx"
df = pd.read_excel(path)
t=df[ "1月" ]>60
print (df[t][[ "姓名","姓别","2月" ]])
返回:
姓名 | 姓别 | 2月 | |
---|---|---|---|
0 | 小王 | 男 | 79 |
3 | 小张 | 女 | 85 |
4 | 小林 | 男 | 49 |